package com.cskaoyan.javase.oop1._2memory;

/**
 * @description: 内存图2
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 	3个对象的内存图，其中有两个引用指向同一个对象
 *
 * 	在一次程序的执行过程中,
 * 一个类的类加载只会进行一次
 * 不论创建多少次它的对象
 * 只有在第一次创建对象时才会类加载
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        Cat c1 = new Cat();
        Cat c2 = new Cat();
        Cat c3;
        c3 = c1;
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c1 == c2); //false
        System.out.println(c1 == c3); //true
        c2.price = 10000;
        System.out.println(c1.price);
        c3.price = 2000;
        System.out.println(c1.price);
        System.out.println(c2.price);
    }
}

class Cat {
    int age;
    //品种
    String breed;
    double price;

    public void catchMouse() {
        System.out.println("猫抓老鼠");
    }

    public void touchFish() {
        System.out.println("摸鱼");
    }

}
